﻿namespace SoftwareConsulting.BI11.NumericalMethods.Interfaces
{
    /// <summary>
    /// Интерфейс ряда точек
    /// </summary>
    public interface IPointsSeries
    {
        /// <summary>
        /// Возвращает количество точек ряда
        /// </summary>
        int BinsCount { get; }

        /// <summary>
        /// Возвращает x-координату точки с указанным индексом
        /// </summary>
        /// <param name="pointIndex"></param>
        /// <returns></returns>
        double GetXAt(int pointIndex);

        /// <summary>
        /// Возвращает y-координату точки с указанным индексом
        /// </summary>
        /// <param name="pointIndex"></param>
        /// <returns></returns>
        double GetYAt(int pointIndex);
    }

    /// <summary>
    /// Интерфейс ряда точек с ошибками значения Y
    /// </summary>
    public interface IPointsSeriesWithErrors : IPointsSeries
    {
        /// <summary>
        /// Возвращает вес точки с указанным индексом
        /// </summary>
        /// <param name="pointIndex"></param>
        /// <returns></returns>
        double GetWeightAt(int pointIndex);
    }
}
